Device developers may use hardware debuggers to debug a device. A hardware debugger can use a Joint Test Action Group (JTAG) based interface to gain control of a processor. A debugging application, running on a host device, can connect with the hardware debugger to perform operations such as setting software breakpoints, monitoring processor states, reading data, or writing data to one or more locations such as a processor register.